package com.teamin.entity;

import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;

/**
 * 圈子实体
 */
public class CircleEntity implements Serializable{

	@ApiModelProperty(value = "圈子ID")
	private Long circleId;

	@ApiModelProperty(value = "圈子名称")
	private String circleName;

	@ApiModelProperty(value = "圈子图标,现不支持")
	private String img;

	@ApiModelProperty(value = "圈子创建时间")
	private Date createTime;

	@ApiModelProperty(value = "圈子的描述")
	private String descript;

	@ApiModelProperty(value = "圈子的创建者")
	private Long createrId;

	@ApiModelProperty(value = "圈子的创建者名字")
	private String createrUserName;

	@ApiModelProperty(value = "圈子的创建者头像")
	private String createrHeadIcon;

	@ApiModelProperty(value = "置顶的时间")
	private Timestamp stickTime;

	@ApiModelProperty(value = "置顶的状态 1为已置顶,0为未置顶")
	private Integer stick;

	@ApiModelProperty(value = "是否允许成员分享当前状态")
	@Pattern(regexp = "[0,1]",message = "分享设置只能是指定值")
	private Boolean canMemberShare ;

	@Pattern(regexp = "[0,1]",message = "是否允许成员邀请 当前状态")
	private Boolean canMemberInvite ;

	@ApiModelProperty(value = "当前用户是否能邀请")
	private Boolean userCanMemberInvite;

	@ApiModelProperty(value = "当前用户是否能分享")
	private Boolean userCanMemberShare;

	@ApiModelProperty(value = "只能从指定群的来源,1表示开打,0表示关闭")
	private Integer openGroupCircleCheck;

	public Integer getStick() {
		return stick;
	}

	public void setStick(Integer stick) {
		this.stick = stick;
	}

	public Timestamp getStickTime() {
		return stickTime;
	}

	public void setStickTime(Timestamp stickTime) {
		this.stickTime = stickTime;
	}

	public Integer getOpenGroupCircleCheck() {
		return openGroupCircleCheck;
	}

	public void setOpenGroupCircleCheck(Integer openGroupCircleCheck) {
		this.openGroupCircleCheck = openGroupCircleCheck;
	}

	public void setUserCanMemberInvite(Boolean userCanMemberInvite) {
		this.userCanMemberInvite = userCanMemberInvite;
	}

	public void setUserCanMemberShare(Boolean userCanMemberShare) {
		this.userCanMemberShare = userCanMemberShare;
	}

	public Boolean getUserCanMemberInvite() {
		return userCanMemberInvite;
	}

	public Boolean getUserCanMemberShare() {
		return userCanMemberShare;
	}

	public Boolean getCanMemberShare() {
		return canMemberShare;
	}

	public Boolean getCanMemberInvite() {
		return canMemberInvite;
	}

	public void setCanMemberShare(Boolean canMemberShare) {
		this.canMemberShare = canMemberShare;
	}

	public void setCanMemberInvite(Boolean canMemberInvite) {
		this.canMemberInvite = canMemberInvite;
	}

	@ApiModelProperty(value = "圈子中的成员")
	private ArrayList<CircleUserEntity> userList = new ArrayList<CircleUserEntity>();// 圈子的用户

	
	public String getCreaterUserName() {
		return createrUserName;
	}

	public void setCreaterUserName(String createrUserName) {
		this.createrUserName = createrUserName;
	}

	public void setCreaterHeadIcon(String createrHeadIcon) {
		this.createrHeadIcon = createrHeadIcon;
	}

	public String getCreaterHeadIcon() {
		return createrHeadIcon;
	}

	public Long getCreaterId() {
		return createrId;
	}

	public void setCreaterId(Long createrId) {
		this.createrId = createrId;
	}

	public void setDescript(String descript) {
		this.descript = descript;
	}

	public String getDescript() {
		return descript;
	}

	public Long getCircleId() {
		return circleId;
	}

	public void setCircleId(Long circleId) {
		this.circleId = circleId;
	}

	public String getCircleName() {
		return circleName;
	}

	public void setCircleName(String circleName) {
		this.circleName = circleName;
	}

	public String getImg() {
		return img;
	}

	public void setImg(String img) {
		this.img = img == null ? null : img.trim();
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public CircleEntity(Long circleId, String circleName, String img, String descript, long createrId) {
		this.circleId = circleId;
		this.circleName = circleName;
		this.img = img;
		this.descript = descript;
		this.createrId = createrId;
	}

	public CircleEntity() {
	}

	@Override
	public String toString() {
		return "CircleEntity{" + "circleId=" + circleId + ", circleName='" + circleName + '\'' + ", img='" + img + '\''
				+ ", createTime=" + createTime + ", descript='" + descript + '\'' + '}';
	}

	public ArrayList<CircleUserEntity> getUserList() {
		return userList;
	}

	public void setUserList(ArrayList<CircleUserEntity> userList) {
		this.userList = userList;
	}

}
